#include "roundabout_scene1.inc"    // The include files contain


#declare CATADIOPTRIC_MIRROR_HEIGHT = 1;
#declare c = 0.1;
#declare k = 4;
#declare CATADIOPTRIC_MIRROR_TO_CAMERA_DISTANCE = c;


#declare a = (c/2)*sqrt((k-2)/k);
#declare b = (c/2)*sqrt(2/k);
#declare f_hyperbolic_mirror = function(x,y,z){
    -(-(pow(x,2) + pow(z,2))/pow(b,2)) - (pow(y - (c/2), 2 )/pow(a,2)) + 1
}


#declare CATADIOPTRIC_MIRROR_HYPERBOLA = isosurface {
    function { f_hyperbolic_mirror(x,y,z)  }
    accuracy 0.0001
    contained_by { box { -20, 20 } }
   finish{
     reflection {1}
     ambient 0
     diffuse 0
   }
   no_shadow
  }


object {CATADIOPTRIC_MIRROR_HYPERBOLA translate y*CATADIOPTRIC_MIRROR_HEIGHT}

  camera {
    perspective
    //location <6*ROAD_WIDTH, ROAD_WIDTH*6, -ROAD_WIDTH*6>
    location <0, CATADIOPTRIC_MIRROR_HEIGHT - CATADIOPTRIC_MIRROR_TO_CAMERA_DISTANCE, 0>
    look_at  <0, CATADIOPTRIC_MIRROR_HEIGHT,  0>    
  }





    